//package com.coderjacky.system.config;
//
//import org.springframework.context.annotation.Bean;
//import org.springframework.context.annotation.Configuration;
//
//import java.util.concurrent.Executors;
//import java.util.concurrent.LinkedBlockingDeque;
//import java.util.concurrent.ThreadPoolExecutor;
//import java.util.concurrent.TimeUnit;
//
///**
// * 配置类，用于定义产品相关的线程池
// */
//@Configuration
//public class ProductThreadPoolConfig {
//
//    /**
//     * 创建一个用于处理商品信息的线程池
//     *
//     * @param itemThreadPoolProperties 商品线程池的配置属性，包括核心线程数、最大线程数、存活时间等
//     * @return 返回一个配置好的线程池执行器
//     */
//    @Bean(name = "itemThreadPoolExcuter")
//    public ThreadPoolExecutor itemThreadPoolExcuter(ItemThreadPoolProperties itemThreadPoolProperties){
//        // 创建线程池执行器，使用商品线程池配置属性进行配置
//        return new ThreadPoolExecutor(
//                // 核心线程数
//                itemThreadPoolProperties.getCorePoolSize(),
//                // 最大线程数
//                itemThreadPoolProperties.getMaxPoolSize(),
//                // 空闲线程存活时间
//                itemThreadPoolProperties.getKeepAliveTime(),
//                // 时间单位
//                TimeUnit.MINUTES,
//                // 工作队列
//                new LinkedBlockingDeque<>(itemThreadPoolProperties.getQueueLength()),
//                // 线程工厂
//                Executors.defaultThreadFactory(),
//                // 拒绝执行处理器
//                new ThreadPoolExecutor.AbortPolicy()
//        );
//    }
//
//    /**
//     * 创建一个用于处理图片上传的线程池
//     *
//     * @return 返回一个配置好的线程池执行器
//     */
//    @Bean
//    public ThreadPoolExecutor imgUploadThreadPoolExcuter(){
//        // 创建线程池执行器，使用固定的配置参数
//        return new ThreadPoolExecutor(
//                // 核心线程数
//                6,
//                // 最大线程数
//                20,
//                // 空闲线程存活时间
//                5,
//                // 时间单位
//                TimeUnit.MINUTES,
//                // 工作队列
//                new LinkedBlockingDeque<>(300),
//                // 线程工厂
//                Executors.defaultThreadFactory(),
//                // 拒绝执行处理器
//                new ThreadPoolExecutor.AbortPolicy()
//        );
//    }
//}
//
